Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

243
Vistas
Mongodb "like" on multiple fields in aggregation

So I have some user documents that have first names and names. I'd like to offer the possibility to filter them if a given input "looks like" that fullname.

user: {
   firstName: "foo",
   lastName: "name",
   ...
}

Before, I was doing this filter on the javascript side by measuring a "score" of likeness between the input and the fullname, but since I implemented a pagination system I cannot do this anymore.

Now I'd like to find a way to make this on the aggregation-side.

I've found this question and this one, that seems to make the same thing but since they do not use aggregation directly it's difficult to me to link this to my case.

A way of doing that I have been thinking is to use the $where operator in the aggregation and then addField to have the "likness score" with each result of the query, then filter them on their score using the aggregatePaginate options.

But it seems to me I cannot use $where in the aggregation. Any idea ?

Many thanks ! Kev :)

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

For aggregation you can use $function to execute custom code. However that kind of defeats the purpose of pagination as Mongo has to execute this code for each document, additionally it is recommended not to execute js in Mongo as it has somewhat bad performance.

It seems like you're just using the wrong database for the job, If this is a crucial feature I recommend trying a text search db like atlas search or elasticsearch

If changing db is not an option, and this feature is too important to remove or alternate. maybe if your provide additional detail as to how the scoring works it'll be easier to give a full answer.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda